//封装getImageCache
/*
 * @description 获取文件的缓存路径，如果文件未缓存，则直接返回网络路径，并下载缓存
 * @method getImageCache
 * @param {String} filePath 完整的图片下载路径，如果没有从缓存中获取到，则用这个路径去下载
 * @return {Object} promise对象
 */
const getImageCache = (filePath) => {
	/* 非H5才支持 */
	// #ifdef H5 || MP
	return filePath;
	// #endif
	// #ifndef H5|| MP
	// 图片缓存key值
	let storageKey = 'IMAGE_CACHE_INFO_' + filePath
	// 首先获取本地存储的数据，查询是否有对应文件路径，如果有缓存内容，直接返回
	const cacheFileInfo = uni.getStorageSync(storageKey)
	if (cacheFileInfo) {
		// console.log("已缓存为：" + cacheFileInfo)
		return cacheFileInfo
	} else {
		// console.log("未缓存,进行下载保存", filePath)
		// 如果没有，执行下载，并存储起来后
		uni.downloadFile({
			url: filePath,
			success: (res) => {
				if (res.statusCode === 200) {
					// console.log('下载成功');
					// 再进行本地保存
					uni.saveFile({
						tempFilePath: res.tempFilePath,
						success: function(res2) {
							// console.log(res2.savedFilePath)
							uni.setStorageSync(storageKey, res2.savedFilePath)
							// return res2.savedFilePath
						},
						fail: function(res2) {
							return filePath
						}
					})
				} else {
					console.log('下载临时文件失败', filePath)
					return filePath
				}
			},
			fail: (res) => {
				console.log(res)
				return filePath
			}
		})
		return filePath;
	}
	// #endif
}

module.exports.getImageCache = getImageCache